package model

// SaveCategoryReq 创建/编辑分类请求参数
type SaveCategoryReq struct {
	// CategoryId 分类ID，编辑时需要指定
	CategoryId int  `json:"categoryId"`
	Form       Form `json:"form"`
}

type Form struct {
	Name     string `json:"name"`
	ImageId  int64  `json:"image_id"`
	ParentID int64  `json:"parent_id"`

	// Status 分类状态 1-显示 0-隐藏
	Status int64 `json:"status"`

	// Sort 分类排序，数字越小越靠前
	Sort int `json:"sort"`
}

type GetCategoryListResponse struct {
	CommonResponse
	Data CategoryListData `json:"data"`
}

type CategoryListData struct {
	List []CategoryItem `json:"list"`
}

type CategoryItem struct {
	CategoryID int64  `json:"category_id"`
	Name       string `json:"name"`
	ParentID   int64  `json:"parent_id"`
	ImageID    int64  `json:"image_id"`
	Status     int64  `json:"status"`
	Sort       int64  `json:"sort"`
	StoreID    int64  `json:"store_id"`
	CreateTime string `json:"create_time"`
	UpdateTime string `json:"update_time"`
	Image      *Image `json:"image"`
}

type Image struct {
	FileID      int64  `json:"file_id"`
	GroupID     int64  `json:"group_id"`
	Channel     int64  `json:"channel"`
	Storage     string `json:"storage"`
	Domain      string `json:"domain"`
	FileType    int64  `json:"file_type"`
	FileName    string `json:"file_name"`
	FilePath    string `json:"file_path"`
	FileSize    int64  `json:"file_size"`
	FileEXT     string `json:"file_ext"`
	Cover       string `json:"cover"`
	UploaderID  int64  `json:"uploader_id"`
	IsRecycle   int64  `json:"is_recycle"`
	IsDelete    int64  `json:"is_delete"`
	StoreID     int64  `json:"store_id"`
	CreateTime  string `json:"create_time"`
	UpdateTime  string `json:"update_time"`
	PreviewURL  string `json:"preview_url"`
	ExternalURL string `json:"external_url"`
}
